d5f3200a59174edc04af8bfe5d38ebf488e42134,src/main/java/org/highj/data/List.java,List,zipWith,#List#List#Function#,964

Before Change


     */
    public static <A, B, C> List<C> zipWith(final List<A> listA, final List<B> listB, final Function<A, Function<B, C>> fn) {
        return listA.isEmpty() || listB.isEmpty() ? Nil() :
                List.Cons$(fn.apply(listA.head()).apply(listB.head()), () -> zipWith(listA.tail(), listB.tail(), fn));
    }

    /**

After Change


     */
    public static <A, B, C> List<C> zipWith(final List<A> listA, final List<B> listB, final BiFunction<A, B, C> fn) {
        return listA.isEmpty() || listB.isEmpty() ? Nil() :
                List.Cons$(fn.apply(listA.head(), listB.head()), () -> zipWith(listA.tail(), listB.tail(), fn));
    }

    /**